docker停止运行中的容器(docker关闭容器)

您所在的位置:网站首页 docker 停止服务 docker停止运行中的容器(docker关闭容器)

docker停止运行中的容器(docker关闭容器)

2023-03-13 00:02| 来源: 网络整理| 查看: 265

大家好,又见面了,我是你们的朋友全栈君。

问题描述:

centos 启动一个容器添加了-d 参数,但是docker ps 或者docker ps -a查看却已经退出了

shell>docker run -d centos a44b2b88559b68a2221c9574490a0e708bff49d88ca21f9e59d3eb245c7c0547 shell>docker ps退出原因

1、docker容器运行必须有一个前台进程, 如果没有前台进程执行,容器认为空闲,就会自行退出 2、容器运行的命令如果不是那些一直挂起的命令( 运行top,tail、循环等),就是会自动退出 3、这个是 docker 的机制问题

解决方案

方案1: 网上有很多介绍,就是起一个死循环进程,让他不停的循环下去,前台永远有进程执行,那么容器就不会退出了,以centos为例

shell>docker run -d centos /bin/sh -c "while true; do echo hello world; sleep 1; done"

缺点: 命令太冗长了,还占用一个终端 方案2:

shell>docker run -dit centos /bin/bash

添加-it 参数交互运行 添加-d 参数后台运行 这样就能启动一个一直停留在后台运行的Centos了。 shell>docker ps 容器运行起来了

进入容器的方法:

使用exec,不要使用attach命令 attach命令就是使用现有终端,如果你要退出容器操作,那么bash结束,容器也就退出了 shell>docker exec -it /bin/bash //新建一个bash

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/127774.html原文链接:https://javaforall.cn



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3